;S This is the primitive that ; compiles at the end of a colon definition. ;s transfers execution to the next higher level by popping the return address of the calling word or method off the return stack.
?PAIRS n1 n2 -- Prints message: "unpaired conditionals" if n1 does not equal n2. Message indicates that compiled conditionals do not match, such as an IF without a THEN.
@(IP) ?
ABORTVEC -- A system vector. Contains cl3, defined in file Objinit.
ArithErr --
BIG# -- $7FFFFFFF A constant.
BUSY -- n A value. FCB of file involved in asynchronous I/O, or zero if none. Set from high level, not from here. Cleared here though, by the completion routine.
BYE -- Closes open files and returns control to the Finder via ExitToShell.
CallBA ? Glue word interfacing to handlers.
CallHandlers ? CallHandlers is the glue routine to call Handlers.
CL2 -- Next cleanup word - clean up all file stuff on abort, as well as whatever we were doing before ( in CL1 ).
CL3 -- Another clear action for abortvec. Does a key!, unhilites a menu, sets arrowcurs, and finally calls unmod and cl2.
CompCall ? Glue word interfacing to handlers.
CompFPUL ?
CompIMP ?
COMPINLINE ?
COMPL ? Our completion routine for asynch I/O. We don't rely onany regs being set up. All we have to do is clear BUSY.
COPYH -- Glue routine for various toolbox calls, which is needed by the HANDLE and PTR classes. Should not be called directly from anywhere else.
CPADDR -- addr Completion routine address, or zero if none. Also servesas a flag that the next op is to be asynchronous.
CRVEC -- A system vector.
DefnEnd ? Glue word interfacing to handlers.
DEL -- Draws a downward-pointing arrow to the right of and below the current pen position - we need this for pop-up menus. Any mathematician will recognize this symbol - hence the name.
DIE strID -- A system vector. Normally contains (die), defined in file Base.
DISK-ERROR ?
DPL -- n Returns the number of digits to the right of the decimal on double integer input. This may be used to compute the output column location of a decimal point in user generated formatting. The default value on single number inputs is -1.
EB ? Glue word interfacing to handlers.
ECHOVEC -- This system vector is executed in Mops to echo keystrokes. When Mops starts up, echovec is vectored to (emit) which prints a character on the screen only. Selecting Echo to Printer from the Mops menu vectors echovec to echo, which prints a character on the screen and printer (this is the same as +print).
EMITVEC -- This system vector contains the cfa of the word that preforms character output to the primary device, usually the screen. When Mops starts up, emitvec is vectored to (emit), the primitive that prints a character on the screen using the DrawChar routine in QuickDraw.
EX ? Glue word interfacing to handlers.
EXBOFFS ? A value.
ExtraLocals ?
EXTRA_INITS -- A system vector.
FDRECT -- obj A value. Unused?
FLOCPARM ? LocParm and FlocParm are dummy words whose cfa is returned by FIND if the symbol is a parameter or local variable. (FlocParm is used for floating quantities). When we then try to compile this word, its handler LOC_H or FLOC_H is called, which does all the real work. It picks up the lv/p number from LOC# (where it was put by PFind) and compiles the right code.
fltFlg ? A value.
FNUM? ?
FPRECT -- obj A value. This leaves a system object of class rectangle used in calculation for scrolling fWind.
FREE -- Glue routine for various toolbox calls, which is needed by the HANDLE and PTR classes. Should not be called directly from anywhere else.
FREEBLK -- Glue routine for various toolbox calls, which is needed by the HANDLE and PTR classes. Should not be called directly from anywhere else.
FWIND -- obj The Mops console window, class window.
FWIND? -- b A value.
GENADDR ? Glue word interfacing to handlers.
GENXADDR ? Glue word interfacing to handlers.
GestaltAvail? -- b A value. Set True by the startup code if the Gestalt trap is available.
GETHSZ -- n Glue routine for various toolbox calls, which is needed by the HANDLE and PTR classes. Should not be called directly from anywhere else.
GETSPACE -- A system vector.
HEADER ? A system vector.
HeldMod ? A value. Extra location to save old A5 while a module is held.
HGetSt -- state Glue routine for various toolbox calls, which is needed by the HANDLE and PTR classes. Should not be called directly from anywhere else.
HIBASE ?
HLD -- addr This value is the address of the latest Hold character during numeric output conversion.
HSetSt state -- Glue routine for various toolbox calls, which is needed by the HANDLE and PTR classes. Should not be called directly from anywhere else.
HWPavail? -- b A value. Set True by the startup code if the HWPriv trap is available.
InhibitMB? ? A value.
INITFONT -- Initializes text characteristics.
INITFW -- Initializes the default window fWind.
InitHandlers ? InitHandlers initializes the Handlers package.
INITZED? -- b Set True by the startup code, to indicate that the normal startup initialization has been done. Can be inspected after a bomb box restart to determine if this is an initial startup or not. A value.
INLMK -- $4AFC A constant.
INSTLD? -- b A value. Set True if an installed application is running. Can be useful. Very useful.
INTERPRET -- INTERPRET is the interpretation loop. Words from the input stream are interpreted until the input is exhausted.
KILLH -- Glue routine for various toolbox calls, which is needed by the HANDLE and PTR classes. Should not be called directly from anywhere else.
KILLP -- Glue routine for various toolbox calls, which is needed by the HANDLE and PTR classes. Should not be called directly from anywhere else.
LIT-ADDR ? Glue word interfacing to handlers.
LITERAL n -- standard
LoadBA ? Glue word interfacing to handlers.
LOBASE ?
LOC# ? A value.
local? ? A value.
LOCPARM ? LocParm and FlocParm are dummy words whose cfa is returned by FIND if the symbol is a parameter or local variable. (FlocParm is used for floating quantities). When we then try to compile this word, its handler LOC_H or FLOC_H is called, which does all the real work. It picks up the lv/p number from LOC# (where it was put by PFind) and compiles the right code.
LOGVEC ? A system vector.
LOK -- Glue routine for various toolbox calls, which is needed by the HANDLE and PTR classes. Should not be called directly from anywhere else.
MBcomp ? A value. Used internally. A copy of ModBase referring to what we are compiling rather than running.
Mentry ? Glue word interfacing to handlers.
MethIndex ? A value.
method? ? A value.
MMRGN ? A value.
MODBASE ?
MODENTRY ?
MODLOAD ?
MROPEN? ? A value.
MULX ?
MvHHi -- b Glue routine for various toolbox calls, which is needed by the HANDLE and PTR classes. Should not be called directly from anywhere else.
NEED -- : filename Will load the named file, if the file is in our path definition. Put NEED XXX at the start of a file that requires XXX to be already loaded. If the word XXX is not defined, a file of that name is loaded. Note that only one blank or tab is allowed between NEED and the filename. This is because we use WORD" to read the ilename, so that names with embedded blanks are allowed.
NEON? -- b Useful flag for occasional optional attempts at Neon compatibility
NEWH n -- b Glue routine for various toolbox calls, which is needed by the HANDLE and PTR classes. Should not be called directly from anywhere else.
NEWP n ^ptr -- b Glue routine for various toolbox calls, which is needed by the HANDLE and PTR classes. Should not be called directly from anywhere else.
NPTR -- ptr Glue routine for various toolbox calls, which is needed by the HANDLE and PTR classes. Should not be called directly from anywhere else.
NULL -- A word that does nothing.
NULLOSSTR -- cfa
objClass ? A value.
OBJINIT -- A system vector. Normally contains sysinit, defined in file Objinit.
OPT? -- b A value. Disables optimization if set False. Normally True. Set it False if you have an obscure bug, to check if the optimization is generating invalid code.
OUT ? A value.
PAD -- addr Leaves the address of the text output buffer, a temporary area of memory of 256 bytes. Mops uses PAD to hold information (text, numbers) for intermediate processing. You may use it to the same end, but be aware that output words like emit and type may interfere by using pad as well.
PCRVEC -- This system vector is the execution vector for pcr. When Mops starts up, pcrvec is vectored to null, Mops's "do-nothing" word. +print vectors pcrvec to pcr so that you or Mops can send a carriage return and linefeed to the printer.
PEMITVEC -- This system vector is the execution vector for pemit. When Mops starts up, pemitvec is vectored to drop. +print vectors pemitvec to pemit so that you or Mops can send a character to the printer.
PLENTRY ? Glue word interfacing to handlers.
PROCENTRY ? Support for proc: and ;proc
PROCESSOR -- n A value. Set by a _Gestalt call in the startup code to the number corresponding to the processor we are running on.
PROCEXIT ? Support for proc: and ;proc
PTYPEVEC addr len -- This is the execution vector for ptype. When Mops starts up, typevec is vectored to 2drop, so that it does nothing. +print vectors ptype to ptypevec, so you can send a string to the printer.
QUERY -- A system vector. Inputs up to 128 characters from the keyboard until a carriage is typed. Query puts the acquired text at the address TIB and sets the value IN to zero.
QUITAPP? ? A value.
QUITVEC -- A system vector.
Reloc! src dst -- converts the src addr to relocatable and stores it in the destination.
RelocChk? ? A value.
RNGERR -- A system vector. Contains range_err, which is defined in file Base.
RSTKSPACE -- n A value. Used by the startup code to allocate space for the return stack. Initial value: 30000.
run -- System startup word for the Mops development environment.
SAcomp? ? A value.
SAVE -- : filename Saves the Mops dictionary image to disk with the given filename.
SavedRP ? A value.
selfref? ? A value.
SETCP ? Sets the completion routine address, making the nextread or write asynchronous.
SETFWIND -- A system vector. Normally contains (sf), defined in file Objint.
SPAN -- n As in Forth-83. Returns the number of characters read by EXPECT.
SRC-ADDR -- addr A value. The address of the current source text being interpreted.
SRC-LEN -- n A value. The number of characters still unprocessed in the current source line.
SRC-START -- addr A value. The starting address of the current source line. Used by WORD.
STKOBJ ? Glue word interfacing to handlers.
STKSPACE -- n A value. Used by the startup code to allocate space for the stack. Set from the Install dialog. Initial value: 30000.
SYSINIT -- SYSINIT is the startup word, called via the vect objinit, that initializes the nucleus objects for the Mops development environment above Files.
TEIDLE ?
temprect -- obj A system object of class rect, useable at anytime for whatever you wish.
TheRgn ?
TIB -- addr This value is the address of the terminal input buffer, where characters typed at the keyboard are stored.
TYPEVEC addr len -- This is the execution vector for type. When Mops starts up, typevec is vectored to (type), the primitive that prints a string on the screen.
UCFLAG -- b A value.
UFIND ?
UNLOK -- Glue routine for various toolbox calls, which is needed by the HANDLE and PTR classes. Should not be called directly from anywhere else.
UseFPU? -- b The value FPU? is set non-zero by the startup code if an FPU is present. If the FPU is present, FP words use it directly without calling SANE.
VFALSE ? A system vector.
W@(IP) ?
warnings? -- b A value. If True, enables warnings of name and method redefinition. Initially False.